using System.Collections.Generic;

namespace NHibernateMappingSample.Entities
{
	// data object class SalesOrderHeader generated from SalesOrderHeader
	// shvadskd [2008-10-20] Created

	using System;

	public  class SalesOrderHeader 
	{

		#region Property_Names

		public static string Prop_SalesOrderID = "SalesOrderID";
		public static string Prop_RevisionNumber = "RevisionNumber";
		public static string Prop_OrderDate = "OrderDate";
		public static string Prop_DueDate = "DueDate";
		public static string Prop_ShipDate = "ShipDate";
		public static string Prop_Status = "Status";
		public static string Prop_OnlineOrderFlag = "OnlineOrderFlag";
		public static string Prop_SalesOrderNumber = "SalesOrderNumber";
		public static string Prop_PurchaseOrderNumber = "PurchaseOrderNumber";
		public static string Prop_AccountNumber = "AccountNumber";
		public static string Prop_Customer = "Customer";
		public static string Prop_ShipToAddress = "ShipToAddress";
		public static string Prop_BillToAddress = "BillToAddress";
		public static string Prop_ShipMethod = "ShipMethod";
		public static string Prop_CreditCardApprovalCode = "CreditCardApprovalCode";
		public static string Prop_SubTotal = "SubTotal";
		public static string Prop_TaxAmt = "TaxAmt";
		public static string Prop_Freight = "Freight";
		public static string Prop_TotalDue = "TotalDue";
		public static string Prop_Comment = "Comment";
		public static string Prop_rowguid = "rowguid";
		public static string Prop_ModifiedDate = "ModifiedDate";

		#endregion

		#region Constructors

		public SalesOrderHeader()
		{
		}

		public SalesOrderHeader(
			int p_salesorderid,
			byte p_revisionNumber,
			DateTime p_orderDate,
			DateTime p_dueDate,
			DateTime? p_shipDate,
			byte p_status,
			bool p_onlineOrderFlag,
			string p_salesOrderNumber,
			string p_purchaseOrderNumber,
			string p_accountNumber,
			Customer p_customer,
			Address p_shipToAddress,
			Address p_billToAddress,
			string p_shipMethod,
			string p_creditCardApprovalCode,
			System.Decimal p_subTotal,
			System.Decimal p_taxAmt,
			System.Decimal p_freight,
			System.Decimal p_totalDue,
			string p_comment,
			byte[] p_rowguid,
			DateTime p_modifiedDate)
		{
			SalesOrderID = p_salesorderid;
			RevisionNumber = p_revisionNumber;
			OrderDate = p_orderDate;
			DueDate = p_dueDate;
			ShipDate = p_shipDate;
			Status = p_status;
			OnlineOrderFlag = p_onlineOrderFlag;
			SalesOrderNumber = p_salesOrderNumber;
			PurchaseOrderNumber = p_purchaseOrderNumber;
			AccountNumber = p_accountNumber;
			BelongsToCustomer = p_customer;
			ShipToAddress = p_shipToAddress;
			BillToAddress = p_billToAddress;
			ShipMethod = p_shipMethod;
			CreditCardApprovalCode = p_creditCardApprovalCode;
			SubTotal = p_subTotal;
			TaxAmt = p_taxAmt;
			Freight = p_freight;
			TotalDue = p_totalDue;
			Comment = p_comment;
			rowguid = p_rowguid;
			ModifiedDate = p_modifiedDate;
		}

		#endregion

      IList<SalesOrderDetail> orderDetails = new List<SalesOrderDetail>();

		#region Properties

		public virtual int SalesOrderID
		{
			get; set;
		}
		public virtual byte RevisionNumber
		{
			get; set;
		}
		public virtual DateTime OrderDate
		{
			get; set;
		}
		public virtual DateTime DueDate
		{
			get; set;
		}
		public virtual DateTime? ShipDate
		{
			get; set;
		}
		public virtual byte Status
		{
			get; set;
		}
		public virtual bool OnlineOrderFlag
		{
			get; set;
		}
		public virtual string SalesOrderNumber
		{
			get; set;
		}
		public virtual string PurchaseOrderNumber
		{
			get; set;
		}
		public virtual string AccountNumber
		{
			get; set;
		}
		public virtual Customer BelongsToCustomer
		{
			get; set;
		}
		public virtual Address ShipToAddress
		{
			get; set;
		}
		public virtual Address BillToAddress
		{
			get; set;
		}
		public virtual string ShipMethod
		{
			get; set;
		}
		public virtual string CreditCardApprovalCode
		{
			get; set;
		}
		public virtual System.Decimal SubTotal
		{
			get; set;
		}
		public virtual System.Decimal TaxAmt
		{
			get; set;
		}
		public virtual System.Decimal Freight
		{
			get; set;
		}
		public virtual System.Decimal TotalDue
		{
			get; set;
		}
		public virtual string Comment
		{
			get; set;
		}
		public virtual byte[] rowguid
		{
			get; set;
		}
		public virtual DateTime ModifiedDate
		{
			get; set;
		}
	   public virtual IList<SalesOrderDetail> OrderDetails
	   {
         get { return orderDetails; }
         set { orderDetails = value; }
	   }
		#endregion
	} // SalesOrderHeader
}

